<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/template2ing.xhtml">


        <ui:define name="title">
            <h:outputText value="Matriz de Indicadores"></h:outputText>
        </ui:define>

        <ui:define name="body">
            <h:form id="MatrizIndicadoresListForm">
                <p:panel header="Matriz Indicadores">
                    <p:dataTable id="datalistindicadores" value="#{indicadorController.items}" var="item"
                                 selectionMode="single" selection="#{indicadorController.selected}"
                                 paginator="true" style="margin-bottom:20px"
                                 rowKey="#{item.idindicador}"
                                 rows="10"
                                 rowsPerPageTemplate="10,20,30,40,50"
                                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {Exporters}" 
                                 emptyMessage="No hay resultados que coincidan"
                                 widgetVar="indicadoresTable"  
                                 >
                        
                        <f:facet name="{Exporters}">
                            <h:commandLink>
                                <p:graphicImage name="resources/pdf.png" width="24" alt="Imprimir"/>
                                <p:dataExporter type="pdf" target="datalistindicadores" fileName="matrizindicadores" />
                            </h:commandLink>
                        </f:facet>
                       
                        <p:column width="90">
                            <f:facet name="header">
                                <h:outputText value="Indicador"/>
                            </f:facet>
                            <h:outputText value="#{item.nombre}"/>
                        </p:column>
                        
                        <p:column  filterBy="#{item.objetivoEstrategicoIdobjetivoEstrategico.perspectivaIdperspectiva.nombre}" headerText="Perspectiva" filterMatchMode="contains" width="150">
                            <f:facet name="filter" >
                                <p:selectOneMenu onchange="PF('indicadoresTable').filter()">
                                    <f:selectItem itemLabel="Seleccionar" itemValue="#{null}" noSelectionOption="true" />
                                    <f:selectItems value="#{perspectivaController.itemsAvailableSelectOne}" var="itemsPerspectivas" itemValue="#{itemsPerspectivas.nombre}" itemLabel="#{itemsPerspectivas.nombre}"/>
                                </p:selectOneMenu>
                            </f:facet>
                            <h:outputText value="#{item.objetivoEstrategicoIdobjetivoEstrategico.perspectivaIdperspectiva.nombre}" />
                        </p:column>
                        
                        
                        <p:column width="70">
                            <f:facet name="header">
                                <h:outputText value="Valor Actual"/>
                            </f:facet>
                            <h:outputText value="#{cabeceraValorController.getFloatCurrentValorByIndicadorId(item.idindicador)}"/>
                        </p:column>                      
                        
                        <p:column width="50">
                            <f:facet name="header">
                                <h:outputText value="Periodicidad"/>
                            </f:facet>
                            <h:outputText value="#{item.periodicidad}"/>
                        </p:column>                   
                        
                        <p:column filterBy="#{item.objetivoEstrategicoIdobjetivoEstrategico.nombre}" headerText="Objetivo" filterMatchMode="contains" width="200">
                            <f:facet name="filter">
                                <p:selectOneMenu onchange="PF('indicadoresTable').filter()">
                                    <f:selectItem itemLabel="Seleccionar" itemValue="#{null}" noSelectionOption="true" />
                                    <f:selectItems value="#{objetivoEstrategicoController.itemsAvailableSelectOne}" var="itemsObjetivos" itemValue="#{itemsObjetivos.nombre}" itemLabel="#{itemsObjetivos.nombre}"/>
                                </p:selectOneMenu>
                            </f:facet>
                            <h:outputText value="#{item.objetivoEstrategicoIdobjetivoEstrategico.nombre}"/>
                        </p:column>                      
                                
                        <p:column filterBy="#{tareaController.getResponsableByIndicadorId(item.idindicador)}" headerText="Responsable" filterMatchMode="contains" width="100">
                            <f:facet name="filter">
                                <p:selectOneMenu onchange="PF('indicadoresTable').filter()">
                                    <f:selectItem itemLabel="Seleccionar" itemValue="#{null}" noSelectionOption="true" />
                                    <f:selectItems value="#{tareaController.responsablesArray}" var="itemsResponsables" itemValue="#{itemsResponsables}"/>
                                </p:selectOneMenu>
                            </f:facet>
                            <h:outputText value="#{tareaController.getResponsableByIndicadorId(item.idindicador)}"/>
                        </p:column>                  
                        
                         <p:column filterBy="#{indicadorController.getCurrentSemaforoByObjetivoId(item.objetivoEstrategicoIdobjetivoEstrategico.idobjetivoEstrategico)}" headerText="Semaforo" filterMatchMode="contains"  width="100">
                            <f:facet name="filter">
                                <p:selectOneMenu onchange="PF('indicadoresTable').filter()">
                                    <f:selectItem itemLabel="Seleccionar" itemValue="#{null}" noSelectionOption="true" />
                                    <f:selectItems value="#{indicadorController.colores}" var="colorItems" itemValue="#{colorItems}"/>
                                </p:selectOneMenu>
                            </f:facet>
                              <h:outputText value="#{indicadorController.getCurrentSemaforoByObjetivoId(item.objetivoEstrategicoIdobjetivoEstrategico.idobjetivoEstrategico)}"/>
                         </p:column>
                  
                        <p:column width="80">
                            <f:facet name="header">
                                <h:outputText value="Formula"/>
                            </f:facet>
                            <h:outputText value="#{formulaController.getFormulaStringById(item.formulaIdformula.idformula)}"/>
                        </p:column>
            
                    </p:dataTable>
                </p:panel>
            </h:form>
        </ui:define>
    </ui:composition>

</html>